// #ifndef VUE3
import Vue from 'vue'
import App from './App'

// 导入仓库模块store.js
import store from '@/store/store.js'

// 导入第三方小程序网络请求包
import { $http } from '@escook/request-miniprogram'
// 在uni-app项目中，把$http挂载到顶级对象uni之上，方便全局调用

uni.$http = $http
Vue.config.productionTip = false

// 设置请求拦截器
$http.beforeRequest = (options) => {
	// 开启loading效果
	uni.showLoading({
		title: "正在加载"
	})

	// 为支付功能设置拦截器，当检测用户登录后才能访问支付相关接口
	if (options.url.indexOf('/my/') !== -1) {
		// 为请求头添加身份认证字段
		options.header = {
			// 字段的值可以直接从vuex中进行获取
			Authorization: store.state.m_user.token,
		}
	}
}

// 设置响应拦截器
$http.afterRequest = () => {
	// 关闭loading效果
	uni.hideLoading()
}

// 配置根路径,旧地址为https://www.uinav.com
$http.baseUrl = 'https://api-hmugo-web.itheima.net'

// 封装消息提示函数
uni.$showMsg = (title = '数据加载失败', mask = false, icon = 'none', duration = 1500, ) => {
	uni.showToast({
		title,
		duration,
		icon,
		mask,
	})
}
App.mpType = 'app'

const app = new Vue({
	...App,
	// 挂载仓库模块
	store
})
app.$mount()
// #endif

// #ifdef VUE3
import {
	createSSRApp
} from 'vue'
import App from './App.vue'
export function createApp() {
	const app = createSSRApp(App)
	return {
		app
	}
}
// #endif
